package com.ExcelServer.service;

import com.ExcelServer.common.Result;
import com.ExcelServer.pojo.entity.PerformanceTrends;
import com.ExcelServer.pojo.form.add.AddDetailsForm;
import com.ExcelServer.pojo.form.add.CreateTableForm;
import com.ExcelServer.pojo.form.delete.DeleteDetailsForm;
import com.ExcelServer.pojo.form.update.UpdateDetailsForm;
import com.ExcelServer.pojo.form.update.UpdateStatusForm;
import com.ExcelServer.pojo.form.update.UpdateTableForm;
import com.ExcelServer.pojo.query.SelectQuery;
import com.ExcelServer.pojo.query.TableNameQuery;
import com.ExcelServer.pojo.query.TableQuery;
import com.ExcelServer.pojo.vo.PerformanceStatusVo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
* @author admin
* @description 针对表【performance_trends(业绩的动态表格控制器)】的数据库操作Service
* @createDate 2024-03-23 11:45:48
*/
public interface PerformanceTrendsService extends IService<PerformanceTrends> {

    Result createTable(CreateTableForm createTableForm);

    Result getTable(TableNameQuery tableNameQuery);


    Result getTableDetails(TableQuery tableQuery);

    Result updateDetails(UpdateDetailsForm updateDetailsForm);

    Result deletePerformanceById(String tableId);

    Result deletePerformanceDetailsById(DeleteDetailsForm deleteDetailsForm);

    void updateTableInfo(UpdateTableForm updateTableForm);

    Result addDetails(AddDetailsForm addDetailsForm);

    void UpdateStatusAgree(UpdateStatusForm updateStatusForm);

    void UpdateStatusDisAgree(UpdateStatusForm updateStatusForm);

    Result<?> getContentsByTeacherId(String teacherId);

    Result<?> getScoreByTeacherId(String teacherId);


    Result<?> getEachTableMaxN(Integer maxN);

    Result<?> getAllTableMaxN(Integer maxN);

    Result<List<String>> selectPerformance(SelectQuery selectQuery);

    Result<PerformanceStatusVo> getPerformanceCount();
}
